[INFO] cloning repository https://github.com/sullyy9/oort-ai
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sullyy9/oort-ai" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsullyy9%2Foort-ai", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsullyy9%2Foort-ai'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1663ef7e8cf6d08e7428be3d2883ad6c3ff1d581
[INFO] fixing sullyy9/oort-ai against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsullyy9%2Foort-ai" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sullyy9/oort-ai
[INFO] finished tweaking git repo https://github.com/sullyy9/oort-ai
[INFO] tweaked toml for git repo https://github.com/sullyy9/oort-ai written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sullyy9/oort-ai on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sullyy9/oort-ai already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded anstream v0.6.4
[INFO] [stderr]   Downloaded rustsourcebundler v0.11.4
[INFO] [stderr]   Downloaded clap v4.4.10
[INFO] [stderr]   Downloaded cargo_toml v0.17.1
[INFO] [stderr]   Downloaded oort_api v0.78.2
[INFO] [stderr]   Downloaded mockall v0.12.0
[INFO] [stderr]   Downloaded rstest v0.18.2
[INFO] [stderr]   Downloaded serde_spanned v0.6.4
[INFO] [stderr]   Downloaded relative-path v1.9.0
[INFO] [stderr]   Downloaded mockall_derive v0.12.0
[INFO] [stderr]   Downloaded rstest_macros v0.18.2
[INFO] [stderr]   Downloaded maths-rs v0.2.5
[INFO] [stderr]   Downloaded clap_builder v4.4.9
[INFO] [stderr]   Downloaded winnow v0.5.19
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e65e69bdcfabfeffd214f36d6616eb504da0ee0392a86ed887f37c634addc1b9
[INFO] running `Command { std: "docker" "start" "e65e69bdcfabfeffd214f36d6616eb504da0ee0392a86ed887f37c634addc1b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e65e69bdcfabfeffd214f36d6616eb504da0ee0392a86ed887f37c634addc1b9" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e65e69bdcfabfeffd214f36d6616eb504da0ee0392a86ed887f37c634addc1b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "e65e69bdcfabfeffd214f36d6616eb504da0ee0392a86ed887f37c634addc1b9" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.70
[INFO] [stderr]    Compiling serde v1.0.193
[INFO] [stderr]    Compiling memchr v2.6.4
[INFO] [stderr]    Compiling regex-syntax v0.8.2
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling utf8parse v0.2.1
[INFO] [stderr]    Compiling anstyle v1.0.4
[INFO] [stderr]    Compiling anstyle-query v1.0.0
[INFO] [stderr]    Compiling colorchoice v1.0.0
[INFO] [stderr]    Compiling futures-core v0.3.29
[INFO] [stderr]    Compiling semver v1.0.20
[INFO] [stderr]    Compiling winnow v0.5.19
[INFO] [stderr]    Compiling clap_lex v0.6.0
[INFO] [stderr]    Compiling futures-task v0.3.29
[INFO] [stderr]    Compiling futures-channel v0.3.29
[INFO] [stderr]    Compiling anyhow v1.0.75
[INFO] [stderr]     Checking futures-sink v0.3.29
[INFO] [stderr]    Compiling anstyle-parse v0.2.2
[INFO] [stderr]    Compiling futures-util v0.3.29
[INFO] [stderr]     Checking futures-io v0.3.29
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling relative-path v1.9.0
[INFO] [stderr]     Checking maths-rs v0.2.5
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking predicates v3.0.4
[INFO] [stderr]     Checking fragile v2.0.0
[INFO] [stderr]     Checking futures-timer v3.0.2
[INFO] [stderr]     Checking downcast v0.11.0
[INFO] [stderr]    Compiling anstream v0.6.4
[INFO] [stderr]    Compiling aho-corasick v1.1.2
[INFO] [stderr]    Compiling indexmap v2.1.0
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling clap_builder v4.4.9
[INFO] [stderr]    Compiling rstest_macros v0.18.2
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]     Checking oort_api v0.78.2
[INFO] [stderr]    Compiling regex-automata v0.4.3
[INFO] [stderr]    Compiling regex v1.10.2
[INFO] [stderr]    Compiling serde_derive v1.0.193
[INFO] [stderr]    Compiling clap_derive v4.4.7
[INFO] [stderr]    Compiling futures-macro v0.3.29
[INFO] [stderr]    Compiling mockall_derive v0.12.0
[INFO] [stderr]    Compiling clap v4.4.10
[INFO] [stderr]     Checking mockall v0.12.0
[INFO] [stderr]     Checking futures-executor v0.3.29
[INFO] [stderr]     Checking futures v0.3.29
[INFO] [stderr]     Checking rstest v0.18.2
[INFO] [stderr]    Compiling serde_spanned v0.6.4
[INFO] [stderr]    Compiling toml_datetime v0.6.5
[INFO] [stderr]    Compiling toml_edit v0.21.0
[INFO] [stderr]    Compiling toml v0.8.8
[INFO] [stderr]    Compiling cargo_toml v0.17.1
[INFO] [stderr]    Compiling rustsourcebundler v0.11.4
[INFO] [stderr]    Compiling oort-ai v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `AsVector`, `circle::Circle`, `line::Line`, and `polygon::Polygon`
[INFO] [stdout]   --> src/math/geometry/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     circle::Circle,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     ellipse::Ellipse,
[INFO] [stdout] 18 |     line::Line,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 19 |     point::{AsPoint, Point},
[INFO] [stdout] 20 |     polygon::Polygon,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     shape::{EllipticalShape, Shape},
[INFO] [stdout] 22 |     vector::{AsVector, Vector},
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `geometry::Ellipse`
[INFO] [stdout]  --> src/radar/contacts/contact.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::math::{geometry::Ellipse, kinematics::Position};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SearchContact` and `TrackedContact`
[INFO] [stdout]  --> src/radar/contacts/contact.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{interface::RadarContact, SearchContact, TrackedContact, TrackedRadarContact};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `draw` and `ship`
[INFO] [stdout]  --> src/radar/mod.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::{draw, math, ship};
[INFO] [stdout]   |             ^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SearchContact` and `TrackedContact`
[INFO] [stdout]  --> src/ship/experimental/radar_test.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::radar::contacts::{SearchContact, TrackedContact};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/ship/experimental/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | mod radar_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Colour` and `self`
[INFO] [stdout]  --> src/ship/experimental/radar_test.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     draw::{self, Colour},
[INFO] [stdout]   |            ^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/ship/experimental/mod.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | mod radar_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SearchContact` and `TrackedContact`
[INFO] [stdout]  --> src/ship/fighter/default.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::radar::contacts::{SearchContact, TrackedContact};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Colour`
[INFO] [stdout]  --> src/ship/fighter/default.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 |     draw::{self, Colour, Trail},
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SearchContact` and `TrackedContact`
[INFO] [stdout]  --> src/ship/fighter/duelist.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::radar::contacts::{SearchContact, TrackedContact};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Colour`, `SearchContact`, and `TrackedContact`
[INFO] [stdout]   --> src/ship/missile/default.rs:7:18
[INFO] [stdout]    |
[INFO] [stdout]  7 |     draw::{self, Colour},
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |         contacts::{Contact, SearchContact, TrackedContact},
[INFO] [stdout]    |                             ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `class`
[INFO] [stdout]  --> src/ship/missile/mod.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::{class, control, draw, math, radar, radio, stats};
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dimensions::Dimensions`
[INFO] [stdout]  --> src/ship/stats/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use dimensions::Dimensions;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AsVector`, `circle::Circle`, `line::Line`, and `polygon::Polygon`
[INFO] [stdout]   --> src/math/geometry/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     circle::Circle,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     ellipse::Ellipse,
[INFO] [stdout] 18 |     line::Line,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 19 |     point::{AsPoint, Point},
[INFO] [stdout] 20 |     polygon::Polygon,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     shape::{EllipticalShape, Shape},
[INFO] [stdout] 22 |     vector::{AsVector, Vector},
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `geometry::Ellipse`
[INFO] [stdout]  --> src/radar/contacts/contact.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::math::{geometry::Ellipse, kinematics::Position};
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SearchContact` and `TrackedContact`
[INFO] [stdout]  --> src/radar/contacts/contact.rs:5:38
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{interface::RadarContact, SearchContact, TrackedContact, TrackedRadarContact};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `draw` and `ship`
[INFO] [stdout]  --> src/radar/mod.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::{draw, math, ship};
[INFO] [stdout]   |             ^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SearchContact` and `TrackedContact`
[INFO] [stdout]  --> src/ship/experimental/radar_test.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::radar::contacts::{SearchContact, TrackedContact};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Colour` and `self`
[INFO] [stdout]  --> src/ship/experimental/radar_test.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     draw::{self, Colour},
[INFO] [stdout]   |            ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SearchContact` and `TrackedContact`
[INFO] [stdout]  --> src/ship/fighter/default.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::radar::contacts::{SearchContact, TrackedContact};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Colour`
[INFO] [stdout]  --> src/ship/fighter/default.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 |     draw::{self, Colour, Trail},
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SearchContact` and `TrackedContact`
[INFO] [stdout]  --> src/ship/fighter/duelist.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::radar::contacts::{SearchContact, TrackedContact};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Colour`, `SearchContact`, and `TrackedContact`
[INFO] [stdout]   --> src/ship/missile/default.rs:7:18
[INFO] [stdout]    |
[INFO] [stdout]  7 |     draw::{self, Colour},
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |         contacts::{Contact, SearchContact, TrackedContact},
[INFO] [stdout]    |                             ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `class`
[INFO] [stdout]  --> src/ship/missile/mod.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::{class, control, draw, math, radar, radio, stats};
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dimensions::Dimensions`
[INFO] [stdout]  --> src/ship/stats/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use dimensions::Dimensions;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `heading`
[INFO] [stdout]    --> src/ship/missile/default.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 |             let heading = position.angle();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_heading`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_acceleration` is never used
[INFO] [stdout]  --> src/control.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait Translation: Position {
[INFO] [stdout]   |           ----------- method in this trait
[INFO] [stdout] 8 |     fn set_acceleration(&mut self, acceleration: Vec2);
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `White`, `Blue`, `Yellow`, and `Teal` are never constructed
[INFO] [stdout]   --> src/draw.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Colour {
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout] 11 |     White = 0xFFFFFF,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Blue = 0x0000FF,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 16 |
[INFO] [stdout] 17 |     Yellow = 0xFFFF00,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     Teal = 0x00FFFF,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Colour` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `circle` is never used
[INFO] [stdout]   --> src/draw.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn circle<T: Position>(position: &T, radius: f64, colour: Colour) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square` is never used
[INFO] [stdout]   --> src/draw.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn square<T: Position>(position: &T, radius: f64, colour: Colour) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `diamond` is never used
[INFO] [stdout]   --> src/draw.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn diamond<T: Position>(position: &T, radius: f64, colour: Colour) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `course` is never used
[INFO] [stdout]   --> src/draw.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn course<T: Velocity>(vessel: &T) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw` is never used
[INFO] [stdout]    --> src/draw.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl Trail {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn draw(&self, colour: Colour) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimShot` is never constructed
[INFO] [stdout]    --> src/draw.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct SimShot {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `tick` are never used
[INFO] [stdout]    --> src/draw.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl SimShot {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 130 |     pub fn new(position: Vec2, heading: f64, colour: Colour) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn tick(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimGun` is never constructed
[INFO] [stdout]    --> src/draw.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct SimGun {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `shoot`, and `tick` are never used
[INFO] [stdout]    --> src/draw.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl SimGun {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 155 |     pub fn new(cooldown: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn shoot(&mut self, position: Vec2, heading: f64, colour: Colour) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn tick(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `impact_time` is never read
[INFO] [stdout]   --> src/math/firing_solution.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct FiringSolution {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 13 |     impact_time: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `time` is never read
[INFO] [stdout]  --> src/math/intercept.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Intercept {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 9 |     time: f64,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Circle` is never constructed
[INFO] [stdout]  --> src/math/kinematics.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Circle {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `possible_position_after` is never used
[INFO] [stdout]    --> src/math/kinematics.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout]  90 | pub trait Velocity: Position {
[INFO] [stdout]     |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn possible_position_after(&self, max_acceleration: f64, seconds: f64) -> Circle {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `acceleration_relative_to` and `velocity_after` are never used
[INFO] [stdout]    --> src/math/kinematics.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub trait Acceleration: Velocity {
[INFO] [stdout]     |           ------------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 130 |     fn acceleration_relative_to<T: Acceleration>(&self, other: &T) -> Vec2 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn velocity_after(&self, seconds: f64) -> Vec2 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `heading_after` is never used
[INFO] [stdout]    --> src/math/kinematics.rs:177:8
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub trait AngularVelocity: Heading {
[INFO] [stdout]     |           --------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 177 |     fn heading_after(&self, seconds: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FloatType` is never used
[INFO] [stdout]   --> src/math/polynomial.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub trait FloatType:
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_area_now` is never used
[INFO] [stdout]   --> src/radar/contacts/interface.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait RadarContact: Position + Velocity {
[INFO] [stdout]    |           ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn get_area_now(&self) -> Self::AreaShape {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EmitterRange` is never constructed
[INFO] [stdout]  --> src/radar/emitter.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct EmitterRange {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_min_heading` and `get_max_heading` are never used
[INFO] [stdout]   --> src/radar/emitter.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Emitter {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 43 |     pub fn get_min_heading(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn get_max_heading(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_channel` is never used
[INFO] [stdout]   --> src/radio/ship_radio.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Radio {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn get_channel(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `BULLET_SPEED` is never used
[INFO] [stdout]   --> src/ship/experimental/radar_test.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl RadarTester {
[INFO] [stdout]    | ---------------- associated constant in this implementation
[INFO] [stdout] 88 |     const BULLET_SPEED: f64 = 1000.0; // m/s
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `radio` and `target_position` are never read
[INFO] [stdout]   --> src/ship/missile/default.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct DefaultMissile {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 22 |     radar: CompositeRadar,
[INFO] [stdout] 23 |     radio: Radio,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |
[INFO] [stdout] 25 |     target_position: Option<Vec2>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dimensions` is never constructed
[INFO] [stdout]  --> src/ship/stats/dimensions.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Dimensions {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `length`, `width`, and `longest` are never used
[INFO] [stdout]   --> src/ship/stats/dimensions.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl Dimensions {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 39 |     pub fn length(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn width(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn longest(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `heading`
[INFO] [stdout]    --> src/ship/missile/default.rs:102:17
[INFO] [stdout]     |
[INFO] [stdout] 102 |             let heading = position.angle();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_heading`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_acceleration` is never used
[INFO] [stdout]  --> src/control.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait Translation: Position {
[INFO] [stdout]   |           ----------- method in this trait
[INFO] [stdout] 8 |     fn set_acceleration(&mut self, acceleration: Vec2);
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `White`, `Blue`, `Yellow`, and `Teal` are never constructed
[INFO] [stdout]   --> src/draw.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Colour {
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout] 11 |     White = 0xFFFFFF,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Blue = 0x0000FF,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 16 |
[INFO] [stdout] 17 |     Yellow = 0xFFFF00,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 18 |     Teal = 0x00FFFF,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Colour` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `circle` is never used
[INFO] [stdout]   --> src/draw.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn circle<T: Position>(position: &T, radius: f64, colour: Colour) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square` is never used
[INFO] [stdout]   --> src/draw.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn square<T: Position>(position: &T, radius: f64, colour: Colour) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `diamond` is never used
[INFO] [stdout]   --> src/draw.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn diamond<T: Position>(position: &T, radius: f64, colour: Colour) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `course` is never used
[INFO] [stdout]   --> src/draw.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn course<T: Velocity>(vessel: &T) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw` is never used
[INFO] [stdout]    --> src/draw.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl Trail {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn draw(&self, colour: Colour) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimShot` is never constructed
[INFO] [stdout]    --> src/draw.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct SimShot {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `tick` are never used
[INFO] [stdout]    --> src/draw.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl SimShot {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 130 |     pub fn new(position: Vec2, heading: f64, colour: Colour) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn tick(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimGun` is never constructed
[INFO] [stdout]    --> src/draw.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub struct SimGun {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `shoot`, and `tick` are never used
[INFO] [stdout]    --> src/draw.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl SimGun {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 155 |     pub fn new(cooldown: f64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn shoot(&mut self, position: Vec2, heading: f64, colour: Colour) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn tick(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `impact_time` is never read
[INFO] [stdout]   --> src/math/firing_solution.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct FiringSolution {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 13 |     impact_time: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `time` is never read
[INFO] [stdout]  --> src/math/intercept.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Intercept {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] 9 |     time: f64,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Circle` is never constructed
[INFO] [stdout]  --> src/math/kinematics.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Circle {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `possible_position_after` is never used
[INFO] [stdout]    --> src/math/kinematics.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout]  90 | pub trait Velocity: Position {
[INFO] [stdout]     |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn possible_position_after(&self, max_acceleration: f64, seconds: f64) -> Circle {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `acceleration_relative_to` and `velocity_after` are never used
[INFO] [stdout]    --> src/math/kinematics.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub trait Acceleration: Velocity {
[INFO] [stdout]     |           ------------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 130 |     fn acceleration_relative_to<T: Acceleration>(&self, other: &T) -> Vec2 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn velocity_after(&self, seconds: f64) -> Vec2 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FloatType` is never used
[INFO] [stdout]   --> src/math/polynomial.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub trait FloatType:
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_area_now` is never used
[INFO] [stdout]   --> src/radar/contacts/interface.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait RadarContact: Position + Velocity {
[INFO] [stdout]    |           ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn get_area_now(&self) -> Self::AreaShape {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EmitterRange` is never constructed
[INFO] [stdout]  --> src/radar/emitter.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct EmitterRange {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_min_heading` and `get_max_heading` are never used
[INFO] [stdout]   --> src/radar/emitter.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Emitter {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 43 |     pub fn get_min_heading(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn get_max_heading(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_channel` is never used
[INFO] [stdout]   --> src/radio/ship_radio.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Radio {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn get_channel(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `BULLET_SPEED` is never used
[INFO] [stdout]   --> src/ship/experimental/radar_test.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl RadarTester {
[INFO] [stdout]    | ---------------- associated constant in this implementation
[INFO] [stdout] 88 |     const BULLET_SPEED: f64 = 1000.0; // m/s
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `radio` and `target_position` are never read
[INFO] [stdout]   --> src/ship/missile/default.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct DefaultMissile {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 22 |     radar: CompositeRadar,
[INFO] [stdout] 23 |     radio: Radio,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 24 |
[INFO] [stdout] 25 |     target_position: Option<Vec2>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Dimensions` is never constructed
[INFO] [stdout]  --> src/ship/stats/dimensions.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Dimensions {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `length`, `width`, and `longest` are never used
[INFO] [stdout]   --> src/ship/stats/dimensions.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl Dimensions {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 39 |     pub fn length(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn width(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn longest(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.11s
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "e65e69bdcfabfeffd214f36d6616eb504da0ee0392a86ed887f37c634addc1b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e65e69bdcfabfeffd214f36d6616eb504da0ee0392a86ed887f37c634addc1b9", kill_on_drop: false }`
[INFO] [stdout] e65e69bdcfabfeffd214f36d6616eb504da0ee0392a86ed887f37c634addc1b9
